import Vue from 'vue'

// 全局注册的组件(驼峰:变小写加-)
import Heads from '@/components/Heads.vue'
import VFoot from '@/components/VFoot.vue'
import MeiItem from '@/components/MeiItem.vue'

Vue.component('Heads', Heads)
Vue.component('VFoot', VFoot)
Vue.component('Mei-item', MeiItem)

/** */
/** */
/** */

// 全局的过滤器
Vue.filter('lower', function (value) {
  if (!value) {
    return
  }
  return value.toLowerCase()
})

Vue.filter('decimalPoint', function (value) {
  if (typeof value === "number") {
    return (value / 100).toFixed(2)
  } else {
    return value
  }
})

Vue.filter('actorsFilter', function (value) {
  const list = value.map(item => item.name)
  return list.join('|')
})

Vue.filter('premiereAtFilter', function (value) {
  return value
})

Vue.filter('orderTimeFilter', function (value, fmt = "YYYY-mm-dd HH:MM") {
  let date = new Date(value);
  let ret;
  let opt = {
    "Y+": date.getFullYear().toString(),        // 年
    "m+": (date.getMonth() + 1).toString(),     // 月
    "d+": date.getDate().toString(),            // 日
    "H+": date.getHours().toString(),           // 时
    "M+": date.getMinutes().toString(),         // 分
    "S+": date.getSeconds().toString()          // 秒
    // 有其他格式化字符需求可以继续添加，必须转化成字符串
  };
  for (let k in opt) {
    ret = new RegExp("(" + k + ")").exec(fmt);
    if (ret) {
      fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
    };
  };
  return fmt;
})

// 自定义指令
Vue.directive('fdtitle', {
  inserted(el, bind) {
    // 插入到dom之后的钩子函数
    // console.log(bind.value)
    el.style.display = 'none'
    window.onscroll = () => {
      // console.log(document.documentElement.scrollTop)
      if ((document.documentElement.scrollTop || document.body.scrollTop) > bind.value) {
        // 显示
        el.style.display = 'block'
      } else {
        // 隐藏
        el.style.display = 'none'
      }
    }
  },
  unbind() {
    // 指令的解绑的生命周期 钩子函数
    window.onscroll = null
  }
})
